chatsecureios / ChatSecure / Classes / View Controllers / OTRMessagesCollectionViewFlowLayout.swift @ f3813541
History | View | Annotate | Download (982 Bytes)
| 1 |
// |
|---|---|
| 2 |
// OTRMessagesCollectionViewFlowLayout.swift |
| 3 |
// ChatSecure |
| 4 |
// |
| 5 |
// Created by David Chiles on 3/4/16. |
| 6 |
// Copyright © 2016 Chris Ballinger. All rights reserved. |
| 7 |
// |
| 8 |
|
| 9 |
import Foundation |
| 10 |
|
| 11 |
import JSQMessagesViewController |
| 12 |
|
| 13 |
@objc public protocol OTRMessagesCollectionViewFlowLayoutSizeProtocol {
|
| 14 |
func hasBubbleSizeForCellAtIndexPath(_ indexPath: IndexPath) -> Bool |
| 15 |
} |
| 16 |
|
| 17 |
@objc open class OTRMessagesCollectionViewFlowLayout:JSQMessagesCollectionViewFlowLayout {
|
| 18 |
|
| 19 |
@objc open weak var sizeDelegate:OTRMessagesCollectionViewFlowLayoutSizeProtocol? |
| 20 |
|
| 21 |
@objc override open func messageBubbleSizeForItem(at indexPath: IndexPath!) -> CGSize {
|
| 22 |
guard let delegate = self.sizeDelegate, !delegate.hasBubbleSizeForCellAtIndexPath(indexPath) else {
|
| 23 |
return super.messageBubbleSizeForItem(at: indexPath) |
| 24 |
} |
| 25 |
|
| 26 |
//Set width to one because of an Assert inside of JSQMessagesViewController |
| 27 |
return CGSize(width: 1, height: 0) |
| 28 |
} |
| 29 |
|
| 30 |
} |